接下來我們就要進入Lab2的環節了,我們不會只像Lab只實作了簡單的單機儲存系統,我們會有API層、data層、心跳機制等等,下圖給出了我們的大致的架構
今天先講API層的細節,API層主要是expose儲存的service給外部,我們的API定義在這
如下所示
@app.route("/versions/<obj_name>", methods=['GET'])
@app.route("/objects/size/<obj_name>", methods=['GET'])
@app.route("/objects/locate/<obj_name>", methods=['GET'])
@app.route("/objects/<obj_name>", methods=['POST'])
@app.route("/objects/<obj_name>", methods=['GET'])
特別說一下上圖upload object的流程,upload我們不會透過Restful API傳遞object資料,而是透過Kafka這種生產者消費者middle ware給data server去消費
這篇大概說了一下API層有什麼API,接下來說Data server層的溝通機制